Article Suppliers
Frequency:
Article supplier master data changes are required to be sent in near real-time. Any change to an interface field in the external system should trigger the interface.
Expected data:
Article supplier sources for all stores.
Multiple suppliers can be linked to a single article. All suppliers of an article are expected in a single message.
Technical:
The article and the suppliers must already exist in DSMDS.
For every article in the message, the supplier links in the message replace all existing supplier links of that article in DSMDS: all existing links of the article are deleted first, then the links in the message are created.
Suppliers are looked up within the organization, articles within the client.
A link whose supplier is not found (including a missing supplier_id) is skipped with a warning. The article's other links are still saved, and its previous links are removed anyway.
An article that is not found is skipped with a warning, and its existing links are left unchanged.
Duplicate article/supplier pairs in the message are stored as separate links.
The request is processed in a single transaction. If article_id is missing in any record, the request fails with 409 and nothing is imported.
At most 50 warnings are returned; any further warnings are summarized as one additional warning.
POST https://{url}/articles/suppliers/v1
Replace article supplier links.
Request Body
The request body is a JSON array of objects with the following fields. An article with multiple suppliers is sent as multiple objects with the same article_id.
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Article unique identifier in the external system. If missing, the request fails with 409 |
| supplier_id | string | Yes | Supplier unique identifier in the external system. If missing, the link is skipped with a warning |
| supplier_article_id | string | No | Supplier's article identifier |
Request Example
[
{
"article_id": "0001",
"supplier_id": "LPB-Sanitex",
"supplier_article_id": "Coca_Cola_123123"
},
{
"article_id": "0001",
"supplier_id": "TL",
"supplier_article_id": "Coca_Cola_45654"
}
]
Response
200: OK — Success
{
"success": true,
"message": "",
"data": null,
"warnings": []
}
200: OK — Success with warnings
{
"success": true,
"message": null,
"data": null,
"warnings": [
"Supplier not found by external ID 'TL' for organization '30'",
"Supplier not found by external ID 'null' for organization '30'",
"Article not found by external ID '0047' for client '20'"
]
}
200: OK — Error
{
"success": false,
"message": "Failed to map JSON",
"data": null,
"warnings": []
}